package com.xxrl.shop.repository;

import com.xxrl.shop.domain.User;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Component;

/**
 * @author mis
 */
@Component
public interface UserRepository extends JpaRepository<User,Long> {

    /**
     * 根据用户名查询
     * @param name 用户名
     * @return 用户
     */
    User queryByName(String name);

    /**
     * 根据用户名和密码查询用户
     * @param username 用户名
     * @param password 用户密码
     * @return 用户
     */
    User getUserByNameAndPassword(String username, String password);

    /**
     * 根据唯一性约束检查用户是否存在
     * @param email 邮箱
     * @param phone 电话
     * @param name 用户名
     * @return 是否存在
     */
    Boolean existsUserByEmailOrPhoneOrName(String email, String phone, String name);

    /**
     * 根据唯一性约束检查用户是否存在
     * @param email 邮箱
     * @return 是否存在
     */
    Boolean existsByEmail(String email);

    /**
     * 根据唯一性约束检查用户是否存在
     * @param phone 电话
     * @return 是否存在
     */
    Boolean existsByPhone(String phone);

}
